Within the field of computing, many scenarios involve an architecture including a stream for notifying subscribers of stream items, such as the provision of new stream items, changes in an observed variable, or events within a computing framework. In such models, subscribers are notified of new stream items spontaneously (e.g., without having to poll a subscribed data source for updates), and data items are delivered to the subscriber in the manner of a stream, e.g., a sequence of data items delivered to the subscribers according to the order in which the data items were inserted into the stream by the data source.
As a first such example, in a Real Simple Syndication (RSS) publish/subscribe feed, a user may request notifications when one or more publishers establishes a new publication, such as an article posted on a website. A syndication host may fulfill the request by periodically checking with the subscribed publishers, retrieving new syndicated items, and presenting them to the user.
As a second such example, in an object-oriented observation model, when a first object with a property is instantiated (e.g., a member field of the object, or a value of a visual user interface that is controllable via user input), a stream may be automatically created for updates to the property. A second object may request a subscription to the stream, and therefore may be spontaneously notified when the property changes.
As a third such example, in an event stream model, an event source may provide an event stream, and, upon detecting an instance of an event, may insert event notifications into the event stream. An object may request to subscribe to the event stream, and the event platform may deliver the event notifications to the object in order to fulfill the subscription request of the object. Many such subscription-based streams may be devise and utilized in a variety of scenarios arising within the field of computing.